// 测试不同场景
public class Test {

    public static void main(String[] args) {
        // 场景1：普通员工请假流程（组长→经理→总监）
        System.out.println("=== 普通员工请假 ===");
        ChainExecutor normalChain = new ChainExecutor();
        normalChain.addHandler(new TeamLeader())
                  .addHandler(new Manager())
                  .addHandler(new Director());
        normalChain.execute("请假2天");
        
        // 场景2：经理级请假流程（跳过组长，直接经理→总监）
        System.out.println("\n=== 经理级请假 ===");
        ChainExecutor managerChain = new ChainExecutor();
        managerChain.addHandler(new Manager())
                   .addHandler(new Director());
        managerChain.execute("请假5天");
    }
}
